home *** CD-ROM | disk | FTP | other *** search
/ Basic Instinct 2 Press Kit / Basic Instinct 2 Press Kit.iso / pc / main.dxr / FlashPaper_2_spannotes.swf / scripts / __Packages / FlashPaper / ToolbarView.as < prev    next >
Encoding:
Text File  |  2006-03-15  |  12.9 KB  |  340 lines

  1. class FlashPaper.ToolbarView
  2. {
  3.    var m_mainView;
  4.    var m_toolbarMC;
  5.    var m_margin;
  6.    var m_mainMC;
  7.    static var TOOLBAR_MARGIN = 3;
  8.    static var TOOLBAR_HEIGHT = 31;
  9.    static var TOOLBAR_SPACING = 3;
  10.    static var SLIDER_MIN = 25;
  11.    static var SLIDER_MAX = 250;
  12.    static var SLIDER_SNAP_VALUES = [100];
  13.    static var SLIDER_SNAP_THRESHOLD = 8;
  14.    static var ICON_PREV_PAGE = "iconPrevPage";
  15.    static var ICON_NEXT_PAGE = "iconNextPage";
  16.    static var ICON_FIT_WIDTH = "iconFitWidth";
  17.    static var ICON_FIT_PAGE = "iconFitPage";
  18.    static var ICON_ZOOM_IN = "iconZoomIn";
  19.    static var ICON_ZOOM_OUT = "iconZoomOut";
  20.    static var ICON_PRINT = "iconPrint";
  21.    static var TOOLBAR_ORDER = ["panTool_mc","selectTool_mc","divideTools_mc","find_mc","divideZoom_mc","zoom_sld","currZoom_mc","fitPage_mc","fitWidth_mc","dividePager_mc","currPg_mc","numPgs_txt","prevNext_mc","dividePrint_mc","print_mc","popup_mc","hiddenToolsBtn_mc"];
  22.    static var TOOLBAR_PRIORITY = ["prevNext_mc","fitWidth_mc","fitPage_mc","numPgs_txt","currPg_mc","dividePager_mc","divideZoom_mc","divideTools_mc","currZoom_mc","zoom_sld","print_mc","panTool_mc","selectTool_mc","dividePrint_mc","find_mc"];
  23.    function ToolbarView(parentView_o, main_mc, popupEnabled)
  24.    {
  25.       var _loc1_ = this;
  26.       _loc1_.m_mainMC = main_mc;
  27.       _loc1_.m_toolbarMC = main_mc.toolbar_mc;
  28.       _loc1_.m_mainView = parentView_o;
  29.       _loc1_.m_margin = FlashPaper.ToolbarView.TOOLBAR_MARGIN;
  30.       _loc1_.m_popupEnabled = popupEnabled;
  31.       _loc1_.m_controlsHidden = new Array();
  32.       _loc1_.m_toolbarMC.brandClip_mc.gotoLink_btn.tabEnabled = false;
  33.       var _loc2_ = _loc1_.m_toolbarMC.controls_mc;
  34.       if(_loc1_.m_mainView.getIsHandheld())
  35.       {
  36.          _loc1_.m_popupEnabled = false;
  37.       }
  38.       _loc2_.print_mc.setEnabled(false);
  39.       _loc2_.currPg_mc.currPg_txt.restrict = "0-9";
  40.       _loc2_.currZoom_mc.currZoom_txt.restrict = "0-9%";
  41.       _loc2_.find_mc.find_txt.restrict = "^\x01-\x1f";
  42.       var hiddenTools = _loc1_.m_mainMC.hiddenToolsList_mc;
  43.       hiddenTools.setButton(_loc2_.hiddenToolsBtn_mc);
  44.       hiddenTools.setController(_loc1_.m_mainView);
  45.       hiddenTools.setCursorManager(_loc1_.m_mainView);
  46.       var _loc3_ = _loc2_.zoom_sld;
  47.       _loc3_.setSliderProperties(FlashPaper.ToolbarView.SLIDER_MIN,FlashPaper.ToolbarView.SLIDER_MAX);
  48.       _loc3_.setSnapThreshold(FlashPaper.ToolbarView.SLIDER_SNAP_THRESHOLD);
  49.       _loc3_.setZoomKeyController(_loc1_.m_mainView);
  50.       _loc1_.updateSliderSnapValues(_loc3_);
  51.       if(_loc1_.m_toolbarMC.toolbarBg_mc._height != FlashPaper.ToolbarView.TOOLBAR_HEIGHT)
  52.       {
  53.          var toolbarScale_i = FlashPaper.ToolbarView.TOOLBAR_HEIGHT / _loc1_.m_toolbarMC.toolbarBg_mc._height * 100;
  54.          _loc1_.m_toolbarMC.toolbarBg_mc._yscale = toolbarScale_i;
  55.          _loc2_._yscale = _loc2_._xscale = toolbarScale_i;
  56.          _loc1_.m_toolbarMC.brandClip_mc._xscale = _loc1_.m_toolbarMC.brandClip_mc._yscale = toolbarScale_i;
  57.       }
  58.       if(!_loc1_.m_popupEnabled)
  59.       {
  60.          _loc2_.popup_mc._visible = false;
  61.       }
  62.       _loc1_.m_toolbarMC.toolbarBg_mc._yscale = 100;
  63.       _loc1_.m_toolbarMC.toolbarBg_mc._xscale = 100;
  64.       _loc1_.onResize();
  65.       _loc1_.m_mainView.addListener(_loc1_);
  66.    }
  67.    function updateSliderSnapValues(zoom_sld)
  68.    {
  69.       var _loc1_ = FlashPaper.ToolbarView.SLIDER_SNAP_VALUES;
  70.       _loc1_.unshift(this.m_mainView.getPageFitScale(),this.m_mainView.getPageWidthScale());
  71.       zoom_sld.setSnapValues(_loc1_);
  72.    }
  73.    function internal_onAddPage(width_i, height_i)
  74.    {
  75.       var _loc2_ = this.m_toolbarMC.controls_mc;
  76.       var _loc1_ = this.m_mainView.getNumPages();
  77.       _loc2_.numPgs_txt.text = "/" + _loc1_;
  78.    }
  79.    function getHeight()
  80.    {
  81.       return this.m_toolbarMC.toolbarBg_mc._height;
  82.    }
  83.    function onResize()
  84.    {
  85.       var _loc1_ = this;
  86.       var _loc2_ = _loc1_.m_toolbarMC.controls_mc;
  87.       var smallTextFormat = new TextFormat(FlashPaper.Utils.UIFONT,FlashPaper.Utils.UISMALLFONTSIZE,0);
  88.       _loc2_.numPgs_txt.setNewTextFormat(smallTextFormat);
  89.       _loc2_.currPg_mc.currPg_txt.setNewTextFormat(smallTextFormat);
  90.       _loc2_.currZoom_mc.currZoom_txt.setNewTextFormat(smallTextFormat);
  91.       var find_mc = _loc2_.find_mc;
  92.       find_mc.find_txt.setNewTextFormat(smallTextFormat);
  93.       var toolbarBg_mc = _loc1_.m_toolbarMC.toolbarBg_mc;
  94.       toolbarBg_mc.middle_mc._width = _loc1_.m_mainView.getWidth();
  95.       toolbarBg_mc.right_mc._x = _loc1_.m_mainView.getWidth() - toolbarBg_mc.right_mc._width;
  96.       var _loc3_ = 0;
  97.       while(_loc3_ < FlashPaper.ToolbarView.TOOLBAR_ORDER.length)
  98.       {
  99.          var s = FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc3_];
  100.          _loc2_[FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc3_]]._visible = true;
  101.          _loc3_ = _loc3_ + 1;
  102.       }
  103.       _loc2_.hiddenToolsBtn_mc._visible = false;
  104.       var hh = _loc1_.m_mainView.getIsHandheld();
  105.       if(!_loc1_.m_popupEnabled || hh)
  106.       {
  107.          _loc2_.popup_mc._visible = false;
  108.       }
  109.       if(hh)
  110.       {
  111.          _loc2_.print_mc._visible = false;
  112.          _loc2_.dividePrint_mc._visible = false;
  113.       }
  114.       if(_loc1_.m_toolbarMC.getTextSnapshot == null)
  115.       {
  116.          _loc2_.panTool_mc._visible = false;
  117.          _loc2_.selectTool_mc._visible = false;
  118.          _loc2_.divideTools_mc._visible = false;
  119.          _loc2_.find_mc._visible = false;
  120.          _loc2_.divideZoom_mc._visible = false;
  121.       }
  122.       var np = _loc1_.m_mainView.getNumberOfPages();
  123.       if(np <= 1)
  124.       {
  125.          _loc2_.dividePager_mc._visible = false;
  126.          _loc2_.currPg_mc._visible = false;
  127.          _loc2_.numPgs_txt._visible = false;
  128.          _loc2_.prevNext_mc._visible = false;
  129.          _loc2_.dividePager_mc._x = 0;
  130.          _loc2_.currPg_mc._x = 0;
  131.          _loc2_.numPgs_txt._x = 0;
  132.          _loc2_.prevNext_mc._x = 0;
  133.       }
  134.       var ctrlsWidth = _loc1_.stackItems();
  135.       var brandClip_mc = _loc1_.m_toolbarMC.brandClip_mc;
  136.       var availWidth = _loc1_.m_mainView.getWidth() - (brandClip_mc._x + brandClip_mc._width) - _loc1_.m_margin;
  137.       var removeIdx = 0;
  138.       var removeItem = true;
  139.       var numControlsRemoved = 0;
  140.       do
  141.       {
  142.          var s = FlashPaper.ToolbarView.TOOLBAR_PRIORITY[removeIdx];
  143.          var remove_mc = _loc2_[s];
  144.          if(remove_mc != undefined && ctrlsWidth > availWidth)
  145.          {
  146.             if(remove_mc._visible)
  147.             {
  148.                remove_mc._visible = false;
  149.                if(!_loc2_.hiddenToolsBtn_mc.fp_hidden)
  150.                {
  151.                   _loc2_.hiddenToolsBtn_mc._visible = true;
  152.                }
  153.                ctrlsWidth = _loc1_.stackItems();
  154.                numControlsRemoved++;
  155.                if(numControlsRemoved > _loc1_.m_controlsHidden.length)
  156.                {
  157.                   _loc1_.addToHiddenList(s);
  158.                   _loc1_.m_controlsHidden.push(s);
  159.                }
  160.             }
  161.          }
  162.          else
  163.          {
  164.             removeItem = false;
  165.          }
  166.          removeIdx++;
  167.       }
  168.       while(removeItem == true);
  169.       
  170.       while(numControlsRemoved < _loc1_.m_controlsHidden.length)
  171.       {
  172.          _loc1_.removeFromHiddenList(_loc1_.m_controlsHidden[_loc1_.m_controlsHidden.length - 1]);
  173.          _loc1_.m_controlsHidden.pop();
  174.       }
  175.       var zoom_sld = _loc2_.zoom_sld;
  176.       _loc1_.updateSliderSnapValues(zoom_sld);
  177.       var hiddenTools = _loc1_.m_mainMC.hiddenToolsList_mc;
  178.       hiddenTools.setListVisible(false);
  179.    }
  180.    function stackItems()
  181.    {
  182.       var ctrls = this.m_toolbarMC.controls_mc;
  183.       var stackWidth_i = 0;
  184.       var xPos_i = ctrls._width;
  185.       var _loc2_ = FlashPaper.ToolbarView.TOOLBAR_ORDER.length - 1;
  186.       while(_loc2_ >= 0)
  187.       {
  188.          var _loc3_ = FlashPaper.ToolbarView.TOOLBAR_ORDER[_loc2_];
  189.          var _loc1_ = ctrls[_loc3_];
  190.          if(_loc1_._visible && !_loc1_.fp_hidden)
  191.          {
  192.             xPos_i -= _loc1_._width;
  193.             _loc1_._x = Math.round(xPos_i);
  194.             var spacing = _loc3_ != "numPgs_txt" ? FlashPaper.ToolbarView.TOOLBAR_SPACING : 1;
  195.             xPos_i -= spacing;
  196.             stackWidth_i += _loc1_._width + spacing;
  197.          }
  198.          else
  199.          {
  200.             _loc1_._visible = false;
  201.             _loc1_._x = 0;
  202.          }
  203.          _loc2_ = _loc2_ - 1;
  204.       }
  205.       ctrls._x = Math.round(this.m_mainView.getWidth() - ctrls._width - this.m_margin);
  206.       return stackWidth_i;
  207.    }
  208.    function internal_onZoom(percent)
  209.    {
  210.       var _loc1_ = this.m_toolbarMC.controls_mc;
  211.       var _loc3_ = this.m_mainView.getViewMode();
  212.       _loc1_.fitPage_mc.setActive(_loc3_ == "page");
  213.       _loc1_.fitWidth_mc.setActive(_loc3_ == "width");
  214.       _loc1_.currZoom_mc.currZoom_txt.text = Math.round(percent) + "%";
  215.       var _loc2_ = _loc1_.zoom_sld;
  216.       _loc2_.setChangeHandler(null);
  217.       _loc2_.setValue(percent);
  218.       _loc2_.setChangeHandler("zoomSelect",this);
  219.    }
  220.    function zoomSelect(sld)
  221.    {
  222.       var _loc2_ = this.m_mainView.getIsHandheld();
  223.       var _loc1_ = sld.getFocused();
  224.       if(!_loc2_ && _loc1_ || _loc2_ && !_loc1_)
  225.       {
  226.          var _loc3_ = parseInt(sld.getValue());
  227.          if(!isNaN(_loc3_))
  228.          {
  229.             this.m_mainView.setCurrentZoom(_loc3_);
  230.          }
  231.       }
  232.    }
  233.    function internal_onScroll()
  234.    {
  235.       var _loc2_ = this;
  236.       var pageNum_i = _loc2_.m_mainView.getScrolledPage();
  237.       _loc2_.m_mainView.updateCurrentPage(pageNum_i);
  238.       var ctrls = _loc2_.m_toolbarMC.controls_mc;
  239.       ctrls.currPg_mc.currPg_txt.text = pageNum_i;
  240.       var stateChanged = false;
  241.       var _loc3_ = pageNum_i < _loc2_.m_mainView.getNumPages();
  242.       var enablePrevPage = pageNum_i > 1;
  243.       var _loc1_ = ctrls.prevNext_mc;
  244.       if(_loc1_.nextPg_mc.getEnabled() != _loc3_)
  245.       {
  246.          _loc1_.nextPg_mc.setEnabled(_loc3_);
  247.          _loc1_.nextPg_mc._accProps.silent = !_loc3_;
  248.          _loc2_.m_mainView.setMCHiddenAccButtonAvailable(_loc2_.m_toolbarMC.accessible_mc.nextPg_mc,_loc3_);
  249.          stateChanged = true;
  250.       }
  251.       if(_loc1_.prevPg_mc.getEnabled() != enablePrevPage)
  252.       {
  253.          _loc1_.prevPg_mc.setEnabled(enablePrevPage);
  254.          _loc1_.prevPg_mc._accProps.silent = !enablePrevPage;
  255.          _loc2_.m_mainView.setMCHiddenAccButtonAvailable(_loc2_.m_toolbarMC.accessible_mc.prevPg_mc,enablePrevPage);
  256.          stateChanged = true;
  257.       }
  258.       if(stateChanged)
  259.       {
  260.          Accessibility.updateProperties();
  261.       }
  262.    }
  263.    function internal_onDocumentLoaded()
  264.    {
  265.       this.m_toolbarMC.controls_mc.print_mc.setEnabled(true);
  266.    }
  267.    function onToolChanged(newtool)
  268.    {
  269.       var _loc1_ = this.m_toolbarMC.controls_mc;
  270.       _loc1_.panTool_mc.setActive(newtool == "pan");
  271.       _loc1_.selectTool_mc.setActive(newtool == "select");
  272.    }
  273.    function onEnableScrolling(flag)
  274.    {
  275.       this.m_toolbarMC.controls_mc.panTool_mc.setEnabled(flag);
  276.    }
  277.    function addToHiddenList(mcInstanceName)
  278.    {
  279.       var ctrls = this.m_toolbarMC.controls_mc;
  280.       var _loc1_ = ctrls[mcInstanceName];
  281.       var _loc3_ = this.m_mainView.getLanguageObject();
  282.       var _loc2_ = this.m_mainMC.hiddenToolsList_mc;
  283.       if(mcInstanceName == "prevNext_mc")
  284.       {
  285.          _loc2_.addItem(_loc1_.prevPg_mc.m_iconName,_loc3_[_loc1_.prevPg_mc.m_localName],_loc1_.prevPg_mc.m_clickHandler);
  286.          _loc2_.addItem(_loc1_.nextPg_mc.m_iconName,_loc3_[_loc1_.nextPg_mc.m_localName],_loc1_.nextPg_mc.m_clickHandler);
  287.       }
  288.       else if(mcInstanceName == "fitWidth_mc")
  289.       {
  290.          _loc2_.addDivider();
  291.          _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler);
  292.       }
  293.       else if(mcInstanceName == "fitPage_mc")
  294.       {
  295.          _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler);
  296.       }
  297.       else if(mcInstanceName == "zoom_sld")
  298.       {
  299.          _loc2_.addDivider();
  300.          _loc2_.addItem(FlashPaper.ToolbarView.ICON_ZOOM_IN,_loc3_.ZOOM_IN,"zoomIn");
  301.          _loc2_.addItem(FlashPaper.ToolbarView.ICON_ZOOM_OUT,_loc3_.ZOOM_OUT,"zoomOut");
  302.       }
  303.       else if(mcInstanceName == "print_mc")
  304.       {
  305.          _loc2_.addDivider();
  306.          _loc2_.addItem(_loc1_.m_iconName,_loc3_[_loc1_.m_localName],_loc1_.m_clickHandler);
  307.       }
  308.    }
  309.    function removeFromHiddenList(mcInstanceName)
  310.    {
  311.       var _loc2_ = mcInstanceName;
  312.       var _loc1_ = this.m_mainMC.hiddenToolsList_mc;
  313.       if(_loc2_ == "print_mc")
  314.       {
  315.          _loc1_.removeItem();
  316.          _loc1_.removeDivider();
  317.       }
  318.       else if(_loc2_ == "zoom_sld")
  319.       {
  320.          _loc1_.removeItem();
  321.          _loc1_.removeItem();
  322.          _loc1_.removeDivider();
  323.       }
  324.       else if(_loc2_ == "fitPage_mc")
  325.       {
  326.          _loc1_.removeItem();
  327.       }
  328.       else if(_loc2_ == "fitWidth_mc")
  329.       {
  330.          _loc1_.removeItem();
  331.          _loc1_.removeDivider();
  332.       }
  333.       else if(_loc2_ == "prevNext_mc")
  334.       {
  335.          _loc1_.removeItem();
  336.          _loc1_.removeItem();
  337.       }
  338.    }
  339. }
  340.